From: Tim Deegan Date: Fri, 14 Sep 2007 08:52:47 +0000 (+0100) Subject: [XEN] add typed p2m entry-setting function X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14937^2~90 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=9834e2626e51a0c213dcb6eb788006b0cf1ac763;p=xen.git [XEN] add typed p2m entry-setting function keeping the old one as a fallback for RAM mappings. Signed-off-by: Tim Deegan --- diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index 8d8f4e5945..3c03ed1fc7 100644 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -679,8 +679,8 @@ guest_physmap_remove_page(struct domain *d, unsigned long gfn, } void -guest_physmap_add_page(struct domain *d, unsigned long gfn, - unsigned long mfn) +guest_physmap_add_entry(struct domain *d, unsigned long gfn, + unsigned long mfn, p2m_type_t t) { unsigned long ogfn; p2m_type_t ot; @@ -727,8 +727,7 @@ guest_physmap_add_page(struct domain *d, unsigned long gfn, if ( mfn_valid(_mfn(mfn)) ) { - set_p2m_entry(d, gfn, _mfn(mfn), - p2m_type_to_flags(p2m_ram_rw)|__PAGE_HYPERVISOR|_PAGE_USER); + set_p2m_entry(d, gfn, _mfn(mfn), p2m_type_to_flags(t)); set_gpfn_from_mfn(mfn, gfn); } else diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h index ff00bbd4fa..649f4747f5 100644 --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -201,8 +201,15 @@ int p2m_alloc_table(struct domain *d, void p2m_teardown(struct domain *d); /* Add a page to a domain's p2m table */ -void guest_physmap_add_page(struct domain *d, unsigned long gfn, - unsigned long mfn); +void guest_physmap_add_entry(struct domain *d, unsigned long gfn, + unsigned long mfn, p2m_type_t t); + +/* Untyped version for RAM only, for compatibility */ +static inline void guest_physmap_add_page(struct domain *d, unsigned long gfn, + unsigned long mfn) +{ + guest_physmap_add_entry(d, gfn, mfn, p2m_ram_rw); +} /* Remove a page from a domain's p2m table */ void guest_physmap_remove_page(struct domain *d, unsigned long gfn,